from bct.tools.common.bct4.base_dto import JsonDTO


class PricingSnapshotDTO(JsonDTO):
    trade_id: str
    # yyyy-mm-dd
    valuation_date: str

    group_id: str
    price: str
    delta: str
    gamma: str
    vega: str
    theta: str
    rho: str
    rhoQ: str
    pnl: str

    def to_dict(self):
        return {
            "tradeId": self.trade_id,
            "valuationDate": self.valuation_date,
            "groupId": self.group_id,
            "price": self.price,
            "delta": self.delta,
            "gamma": self.gamma,
            "vega": self.vega,
            "theta": self.theta,
            "rho": self.rho,
            "rhoQ": self.rhoQ,
            "pnl": self.pnl
        }
